Global Positioning System (GPS) is commonly used in positioning and navigation. The prior art provides two solutions for a GPS receiver. In the first solution, a GPS receiver totally applies hardware circuits for performing radio frequency (RF) front-end processing of received GPS satellite signals and calculations for identifying associated GPS satellites. The above GPS receiver needs an exclusive microprocessor and a memory to execute GPS algorithm software in order to generate data such as position, speed and time. However, this solution not only tends to have high manufacturing costs owing to the necessarily exclusive microprocessor and memory, but also yields chips with large areas and little operation flexibility that are unfavorable for integrating into compact portable electronic devices.
Further, the hardware design of a purely hardware GPS receiver is remarkably complicated. In the event that a time-domain solution is applied, for one skilled in the GPS technology, it is known that the time domain correlation calculations may involve 1023 code chips, each of which has a length of 2048. In addition, bits for in-phase signal I, quadrature signal Q, positive/negative sign and amplitude are needed to add up to a total memory space of around 8 mega bits. In the event that a frequency-domain solution is applied, for one skilled in the GPS technology, it is known that correlation calculations in a time domain correspond to multiplications in the frequency domain. However, complex fast Fourier transform (FFT) is needed to first convert samples of time-domain signals to frequency-domain functions, and yet complex inverse fast Fourier transform (IFFT) is then applied to transform the results back to the time domain when frequency-domain multiplications are completed. Taking the 2048 sampling resolution for example, hardware is typically required by 2048*2-point FFT and 2048-point IFFT. Both transformations need huge hardware support such that an area of the chips manufactured cannot be effectively reduced.
In the second solution, a GPS receiver only receives GPS signals and handles RF front-end processing. Subsequent processing such as calculations for identifying GPS satellites and generating data of position, speed and time, is entirely achieved by a high-level microprocessor and a large memory for executing associated software. This software-oriented solution needs to manipulate a great amount of data that adds loading on calculations, storage and power of the GPS receiver. As a result, real-time response, precision, and costs applying this solution are also rather unsatisfactory.